import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon' // svg component

// register globally
Vue.component('svg-icon', SvgIcon)

//! require.context 是 Webpack 提供的 API
// 目录、是否遍历子目录、匹配文件的正则
const req = require.context('./svg', false, /\.svg$/)
// require.context执行后，返回一个方法webpackContext，这个方法又返回一个__webpack_require__，这个__webpack_require__就相当于require或者import。同时webpackContext还有二个静态方法keys与resolve，一个id属性。

// keys: 返回匹配成功模块的名字组成的数组
// resolve: 接受一个参数request，request为test文件夹下面匹配文件的相对路径，返回这个匹配文件相对于整个工程的相对路径
// id: 执行环境的id，返回的是一个字符串，主要用在module.hot.accept，应该是热加载
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

// req.keys() // 返回路径列表，例如 ["./dashboard.svg", "./example.svg"]
// req(key) // 代表引入一个个路径
// req.keys().forEach(key => req(key))
